package com.zh.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zh.domain.dto.bug.AddBugRequest;
import com.zh.domain.dto.bug.PageBugDynamicRequest;
import com.zh.domain.dto.bug.PageBugRequest;
import com.zh.domain.dto.bug.UpdateBugRequest;
import com.zh.domain.entity.Bug;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.domain.vo.bug.BugDynamicVo;
import com.zh.domain.vo.bug.BugVo;

import java.util.List;

/**
* @author Administrator
* @description 针对表【bugs(缺陷表)】的数据库操作Service
* @createDate 2025-02-09 16:24:10
*/
public interface BugService extends IService<Bug> {

    Boolean addBug(AddBugRequest addBugRequest);

    void sendMessageAndDynamicWhenAdd(Integer operatorId,Bug newBug);

    Page<BugVo> pageBugs(PageBugRequest pageBugRequest);

    Boolean updateBug(UpdateBugRequest updateBugRequest);

    void sendMessageAndDynamicWhenUpdate(int loginId, Bug oldBug, Bug updatedBug);

    Page<BugDynamicVo> pageDynamics(PageBugDynamicRequest pageBugDynamicRequest);

    BugVo getDetail(Integer id);

    List<BugVo> listUndoBugList();

    List<BugVo> listByProIdAndOwnerId(Integer projectId);
}
